package com.ruoyi.ring.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 语音转写记录对象 az_ring_voice_record
 * 
 * @author liuwp
 * @date 2025-10-24
 */
public class RingVoiceRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long voiceFolderId;

    /** 设备id */
    @Excel(name = "设备id")
    private Long deviceId;

    /** 用户id */
    @Excel(name = "用户id")
    private Long userId;

    /** 录音类型，字典：ora_voice_record_type */
    @Excel(name = "录音类型，字典：ora_voice_record_type")
    private Integer voiceType;

    /** 语音路径 */
    @Excel(name = "语音路径")
    private String voicePath;

    /** 转写内容 */
    @Excel(name = "转写内容")
    private String voiceContent;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String voiceTransliterate;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String voiceTitle;

    /** 转写总结 */
    @Excel(name = "转写总结")
    private String voiceSummarize;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String voiceAgency;

    /** 转写平台，字典：ora_ai_platform */
    @Excel(name = "转写平台，字典：ora_ai_platform")
    private Integer aiPlatform;

    /** 分享时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "分享时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date shareTime;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Date deleteTime;

    /** 语音时长，单位秒 */
    @Excel(name = "语音时长，单位秒")
    private Long voiceDuration;

    /** 转写状态，字典：ora_voice_record_status */
    @Excel(name = "转写状态，字典：ora_voice_record_status")
    private Integer status;

    /** 已读状态，字典 sys_yes_no */
    @Excel(name = "已读状态，字典 sys_yes_no")
    private Integer readStatus;

    /** 显示类型，字典 ora_assets_show_type,  1：管理员可见，2：所有成员可见，3：部分成员可见 */
    @Excel(name = "显示类型，字典 ora_assets_show_type,  1：管理员可见，2：所有成员可见，3：部分成员可见")
    private Integer showType;

    /** 点赞数 */
    @Excel(name = "点赞数")
    private Integer likeCount;

    /** 评论数 */
    @Excel(name = "评论数")
    private Integer commentCount;

    /** 收藏数量 */
    @Excel(name = "收藏数量")
    private Integer collectCount;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setVoiceFolderId(Long voiceFolderId) 
    {
        this.voiceFolderId = voiceFolderId;
    }

    public Long getVoiceFolderId() 
    {
        return voiceFolderId;
    }
    public void setDeviceId(Long deviceId) 
    {
        this.deviceId = deviceId;
    }

    public Long getDeviceId() 
    {
        return deviceId;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setVoiceType(Integer voiceType) 
    {
        this.voiceType = voiceType;
    }

    public Integer getVoiceType() 
    {
        return voiceType;
    }
    public void setVoicePath(String voicePath) 
    {
        this.voicePath = voicePath;
    }

    public String getVoicePath() 
    {
        return voicePath;
    }
    public void setVoiceContent(String voiceContent) 
    {
        this.voiceContent = voiceContent;
    }

    public String getVoiceContent() 
    {
        return voiceContent;
    }
    public void setVoiceTransliterate(String voiceTransliterate) 
    {
        this.voiceTransliterate = voiceTransliterate;
    }

    public String getVoiceTransliterate() 
    {
        return voiceTransliterate;
    }
    public void setVoiceTitle(String voiceTitle) 
    {
        this.voiceTitle = voiceTitle;
    }

    public String getVoiceTitle() 
    {
        return voiceTitle;
    }
    public void setVoiceSummarize(String voiceSummarize) 
    {
        this.voiceSummarize = voiceSummarize;
    }

    public String getVoiceSummarize() 
    {
        return voiceSummarize;
    }
    public void setVoiceAgency(String voiceAgency) 
    {
        this.voiceAgency = voiceAgency;
    }

    public String getVoiceAgency() 
    {
        return voiceAgency;
    }
    public void setAiPlatform(Integer aiPlatform) 
    {
        this.aiPlatform = aiPlatform;
    }

    public Integer getAiPlatform() 
    {
        return aiPlatform;
    }
    public void setShareTime(Date shareTime) 
    {
        this.shareTime = shareTime;
    }

    public Date getShareTime() 
    {
        return shareTime;
    }
    public void setDeleteTime(Date deleteTime) 
    {
        this.deleteTime = deleteTime;
    }

    public Date getDeleteTime() 
    {
        return deleteTime;
    }
    public void setVoiceDuration(Long voiceDuration) 
    {
        this.voiceDuration = voiceDuration;
    }

    public Long getVoiceDuration() 
    {
        return voiceDuration;
    }
    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }
    public void setReadStatus(Integer readStatus) 
    {
        this.readStatus = readStatus;
    }

    public Integer getReadStatus() 
    {
        return readStatus;
    }
    public void setShowType(Integer showType) 
    {
        this.showType = showType;
    }

    public Integer getShowType() 
    {
        return showType;
    }
    public void setLikeCount(Integer likeCount) 
    {
        this.likeCount = likeCount;
    }

    public Integer getLikeCount() 
    {
        return likeCount;
    }
    public void setCommentCount(Integer commentCount) 
    {
        this.commentCount = commentCount;
    }

    public Integer getCommentCount() 
    {
        return commentCount;
    }
    public void setCollectCount(Integer collectCount) 
    {
        this.collectCount = collectCount;
    }

    public Integer getCollectCount() 
    {
        return collectCount;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("voiceFolderId", getVoiceFolderId())
            .append("deviceId", getDeviceId())
            .append("userId", getUserId())
            .append("voiceType", getVoiceType())
            .append("voicePath", getVoicePath())
            .append("voiceContent", getVoiceContent())
            .append("voiceTransliterate", getVoiceTransliterate())
            .append("voiceTitle", getVoiceTitle())
            .append("voiceSummarize", getVoiceSummarize())
            .append("voiceAgency", getVoiceAgency())
            .append("aiPlatform", getAiPlatform())
            .append("createTime", getCreateTime())
            .append("shareTime", getShareTime())
            .append("deleteTime", getDeleteTime())
            .append("voiceDuration", getVoiceDuration())
            .append("status", getStatus())
            .append("readStatus", getReadStatus())
            .append("showType", getShowType())
            .append("likeCount", getLikeCount())
            .append("commentCount", getCommentCount())
            .append("collectCount", getCollectCount())
            .toString();
    }
}
